package IMIC.NGUYENVANDOAN.OOP.CONTENT05;

import java.util.ArrayList;
import java.util.List;

public class VIEWS {
    public static void main(String[] args) {
        // 1. Thêm Sinh viên vào mảng động
        List<Student> lisStudent = Add();

        // 2. Hiển thị thông tin trong mảng động
        PrintInfo(lisStudent);

        // 3. Sắp xếp thông tin trong mảng động
        CONTROLLERS objController = new CONTROLLERS();

        // 4. Ủy quyền thực thi nghiệp vụ sắp xếp
        List<Student> lisResult = objController.ExecOfSortElement(lisStudent);

        // 5. Duyệt & hiển thị
        PrintInfo(lisResult);
    }

    static List<Student> Add() {
        // 1. Khai báo & khởi tạo mảng động sinh viên
        List<Student> lis = new ArrayList<>();
        Student objSV01 = new Student();
        objSV01.setRollNo(100);
        objSV01.setFullName("Nguyễn Văn A");
        objSV01.setAge(100);
        objSV01.setMark(8.5);

        Student objSV02 = new Student();
        objSV02.setRollNo(200);
        objSV02.setFullName("Trần Thị B");
        objSV02.setAge(200);
        objSV02.setMark(9.5);

        // 2. Đưa các đối tượng sinh viên vào trong danh sách
        lis.add(objSV01);
        lis.add(objSV02);
        return lis;
    }

    static void PrintInfo(List<Student> lisStudent) {
        for (Student obj : lisStudent) {
            System.out.println("+ RollNo: " + obj.getRollNo());
            System.out.println("+ FullName: " + obj.getFullName());
            System.out.println("+ Age: " + obj.getAge());
            System.out.println("+ Mark: " + obj.getMark());
            System.out.println();
        }
    }
}
